Presently, there are a variety of systems and methods in use for publishing and communicating with applications residing on computers connected to distributed networks such as the internet. One such method is to publish applications coded in the Javascript programming language on websites. When a user visits the website, the Javascript code is downloaded to their local computer and run within the web browser or java console of the local computer. Such systems require the receiving end computer to be equipped with necessary hardware and software resources to execute the downloaded application. This makes it unusable for accessing via small devices such as PDAs and mobile computing devices.
Another way is using active server pages. This technology executes a script at the server-end and transmits the results in HTML form to the client computer. Although it resolves the resource issue, i.e. any user running a web browser can view the results sent from the server, it makes the data unusable for integration (or further processing) at the receiving-end because it only represents the picture of results—the HTML code.
With above mentioned arts, publishing an application to the Internet requires a static IP address to permit client nodes to locate the publishing computer as a server node. This requires a special connection such as DSL lines or leased lines and also costs extra money to maintain them. Further, it inhibits the deployment of publishing computers over easily accessible dial-up internet service providers that use the point-to-point protocol to assign an IP address dynamically to a client. Another major disadvantage of having a static IP address is that it opens up the publishing computer to access by anyone via Internet, hence it introduces a large risk of being hacked.
One technology that has attempted to address security concerns is Virtual Private Networking (VPN). VPN requires both the client and the server ends to be closed using end-to-end encryption. Further, this requires the client to authenticate the connection using a username and password. As a result, it is unusable for publishing an application or web services to the Internet for access by persons using typical thin-client interfaces, such as web browsers.
Therefore, a method that would allow computers to publish applications or web services over the Internet without exposing it to risks associated with using a static IP address at the publishing computer would be a great advantage from security standpoint.
Moreover, it would be beneficial to have a system that delivers HTML or XML to the client computer yet allows users to bind data received from one Service (application that is exposed to the Internet) to another Service to allow integration between services.
Further, Internet based services generally require users to request information but do not notify users when events occur. Therefore, it would be beneficial to have a system that monitors conditions on behalf of the user and provides notification to the user when a predefined condition occurs, without requiring user intervention.
It would be further beneficial to bind such an event from one service to an action of another service to make an automatic, personalized integration. Additionally, it would be greatly advantageous if the specialized software could communicate with notification systems to provide unsolicited alerts and/or actions to remote devices via cellular phones, pagers, electronic mail systems, etc., when preset conditions have been met.